#!/bin/sh
# PCP QA Test No. 1009
# Exercise some pmdumptext problems
#
seq=`basename $0`
echo "QA output created by $seq"

status=1	# failure is the default!
. ./common.qt
trap "_cleanup_qt; exit \$status" 0 1 2 3 15

which pmdumptext >/dev/null 2>&1 || _notrun "pmdumptext not installed"
rm -f $seq.full

# proc metrics may not be available
pminfo proc.nprocs >/dev/null 2>&1 || _notrun "proc PMDA not installed"

# see if unix domain sockets are available (permissions)
eval `pmconfig -L -s unix_domain_sockets`
target="-h localhost"
$unix_domain_sockets && target="-h unix:"
echo "unix_domain_sockets=$unix_domain_sockets" >>$seq.full
echo "target=$target" >>$seq.full

# real QA test starts here
inst=`$sudo pminfo $target -F proc.psinfo.pid \
      | tee -a $seq.full \
      | sed -n -e '/inst \[1 /{
s/^[^"]*"//
s/ .*//
p
}'`

if [ -z "$inst" ]
then
    echo "Arrgh, cannot find proc.psinfo.pid for init!"
    $sudo pminfo $target -F proc.psinfo.pid
fi

echo "proc.psinfo.pid[$inst] 0" >$tmp.config
echo "proc.psinfo.pid[1]" >> $tmp.config

$sudo pmdumptext $target -G -s 1 -f '' -t 1 -c $tmp.config >$tmp.out 2>&1

echo
echo "expect two \"1\"s ..."
sort -u $tmp.out

# success, all done
status=0
exit
